﻿namespace RulesEngine
{
    public interface IRule<TCandidate>
    {
        bool Execute(TCandidate candidate);

        IRule<TCandidate> And(IRule<TCandidate> other);

        IRule<TCandidate> Or(IRule<TCandidate> other);

        IRule<TCandidate> Not();
    }
}